home *** CD-ROM | disk | FTP | other *** search
/ Visual Basic Source Code / Visual Basic Source Code.iso / vbsource / dde2 / ddepm.frm < prev    next >
Text File  |  1993-05-16  |  8KB  |  335 lines

  1. VERSION 2.00
  2. Begin Form Form1 
  3.    Caption         =   "Create a Program Group"
  4.    ClientHeight    =   3450
  5.    ClientLeft      =   1125
  6.    ClientTop       =   2385
  7.    ClientWidth     =   8190
  8.    Height          =   4140
  9.    Icon            =   DDEPM.FRX:0000
  10.    Left            =   1065
  11.    LinkMode        =   1  'Source
  12.    LinkTopic       =   "Form1"
  13.    ScaleHeight     =   3450
  14.    ScaleWidth      =   8190
  15.    Top             =   1755
  16.    Width           =   8310
  17.    Begin DriveListBox Drive1 
  18.       Height          =   1530
  19.       Left            =   120
  20.       TabIndex        =   1
  21.       Top             =   240
  22.       Width           =   2055
  23.    End
  24.    Begin TextBox Text1 
  25.       Height          =   375
  26.       Left            =   2280
  27.       TabIndex        =   6
  28.       Text            =   "*.exe"
  29.       Top             =   240
  30.       Width           =   1215
  31.    End
  32.    Begin TextBox Text2 
  33.       Height          =   375
  34.       Left            =   6000
  35.       TabIndex        =   4
  36.       Text            =   "Examples"
  37.       Top             =   240
  38.       Width           =   2055
  39.    End
  40.    Begin DirListBox Dir1 
  41.       Height          =   2535
  42.       Left            =   120
  43.       TabIndex        =   2
  44.       Top             =   720
  45.       Width           =   2055
  46.    End
  47.    Begin FileListBox File1 
  48.       Height          =   2565
  49.       Left            =   2280
  50.       Pattern         =   "*.exe"
  51.       TabIndex        =   3
  52.       Top             =   720
  53.       Width           =   1215
  54.    End
  55.    Begin CommandButton bAdd 
  56.       Caption         =   "&Add >>"
  57.       Enabled         =   0   'False
  58.       Height          =   375
  59.       Left            =   3600
  60.       TabIndex        =   10
  61.       Top             =   720
  62.       Width           =   1215
  63.    End
  64.    Begin ListBox List1 
  65.       Height          =   2565
  66.       Left            =   4920
  67.       TabIndex        =   5
  68.       Top             =   720
  69.       Width           =   3135
  70.    End
  71.    Begin CommandButton bIterate 
  72.       Caption         =   "&Iterate >>"
  73.       Height          =   375
  74.       Left            =   3600
  75.       TabIndex        =   9
  76.       Top             =   1200
  77.       Width           =   1215
  78.    End
  79.    Begin CommandButton bRemove 
  80.       Caption         =   "<< &Remove"
  81.       Enabled         =   0   'False
  82.       Height          =   375
  83.       Left            =   3600
  84.       TabIndex        =   11
  85.       Top             =   1680
  86.       Width           =   1215
  87.    End
  88.    Begin CommandButton bMake 
  89.       Caption         =   "&Make Group"
  90.       Enabled         =   0   'False
  91.       Height          =   375
  92.       Left            =   3600
  93.       TabIndex        =   0
  94.       Top             =   2400
  95.       Width           =   1215
  96.    End
  97.    Begin CommandButton bExit 
  98.       Caption         =   "&Exit"
  99.       Height          =   375
  100.       Left            =   3600
  101.       TabIndex        =   8
  102.       Top             =   2880
  103.       Width           =   1215
  104.    End
  105.    Begin Label Label1 
  106.       Alignment       =   1  'Right Justify
  107.       Caption         =   "Group Name:"
  108.       Height          =   375
  109.       Left            =   4680
  110.       TabIndex        =   7
  111.       Top             =   240
  112.       Width           =   1215
  113.    End
  114.    Begin Menu mFile 
  115.       Caption         =   "&File"
  116.       Begin Menu mFileAll 
  117.          Caption         =   "&Add All"
  118.          Shortcut        =   ^A
  119.       End
  120.       Begin Menu mFileAbout 
  121.          Caption         =   "A&bout..."
  122.       End
  123.       Begin Menu mSep1 
  124.       End
  125.       Begin Menu mFileExit 
  126.          Caption         =   "E&xit"
  127.       End
  128.    End
  129. End
  130. Option Explicit
  131.  
  132. Dim Subdir(100) As String
  133.  
  134. Const DEFAULT = 0        ' 0 - Default
  135. Const HOURGLASS = 11     ' 11 - Hourglass
  136.  
  137. Const NONE = 0         ' 0 - None
  138. Const LINK_SOURCE = 1    ' 1 - Source (forms only)
  139. Const LINK_AUTOMATIC = 1 ' 1 - Automatic (controls only)
  140. Const LINK_MANUAL = 2    ' 2 - Manual (controls only)
  141. Const LINK_NOTIFY = 3    ' 3 - Notify (controls only)
  142.  
  143. Sub bAdd_Click ()
  144.     Dim ThePath As String
  145.     Dim TheFile As String
  146.     Dim lcv As Integer
  147.     Dim AlreadyThere As Integer
  148.  
  149.     If file1.FileName <> "" Then
  150.     ThePath = dir1.Path
  151.     If Right(ThePath, 1) <> "\" Then ThePath = ThePath + "\"
  152.     TheFile = ThePath + file1.FileName
  153.     For lcv = 0 To list1.ListCount - 1
  154.         If list1.List(lcv) = TheFile Then AlreadyThere = -1
  155.     Next lcv
  156.     If Not AlreadyThere Then list1.AddItem TheFile
  157.     bMake.Enabled = True
  158.     Else
  159.     bAdd.Enabled = False
  160.     End If
  161. End Sub
  162.  
  163. Sub bExit_Click ()
  164.     End
  165. End Sub
  166.  
  167. Sub bIterate_Click ()
  168.     Dim ThePath As String
  169.     Dim TheNextPath As String
  170.     Dim TheFile As String
  171.     Dim TheLen As Integer
  172.     Dim lcv As Integer, lcv2 As Integer
  173.  
  174.     Screen.MousePointer = HOURGLASS
  175.     ThePath = dir1.Path
  176.     TheLen = Len(ThePath)
  177.     
  178.     For lcv = 0 To dir1.ListCount - 1
  179.     TheNextPath = dir1.List(lcv)
  180.     If Left(TheNextPath, TheLen) = ThePath Then
  181.         file1.Path = TheNextPath
  182.         'Append a \ as needed if it's not the root
  183.         If Right$(TheNextPath, 1) <> "\" Then
  184.         TheNextPath = TheNextPath + "\"
  185.         End If
  186.         For lcv2 = 0 To file1.ListCount - 1
  187.         TheFile = TheNextPath + file1.List(lcv2)
  188.         list1.AddItem TheFile
  189.         Next lcv2
  190.     End If
  191.     Next lcv
  192.     file1.Path = dir1.Path
  193.     If list1.ListCount <> 0 Then bMake.Enabled = True
  194.     Screen.MousePointer = DEFAULT
  195. End Sub
  196.  
  197. Sub bMake_Click ()
  198.     Dim rc As Integer
  199.     Dim lcv As Integer
  200.     On Error Resume Next
  201.     
  202.     Screen.MousePointer = HOURGLASS
  203.  
  204.     text1.LinkMode = NONE
  205.     text1.LinkTimeout = 50  '5 seconds
  206.     text1.LinkTopic = "Progman|progman"
  207.     text1.LinkMode = LINK_MANUAL
  208.     
  209.     text1.LinkExecute "[CreateGroup(" + text2.Text + ")]"
  210.     rc = DoEvents()
  211.  
  212.     For lcv = 0 To list1.ListCount - 1
  213.     'Debug.Print list1.list(lcv)
  214.     text1.LinkExecute "[AddItem(" + list1.List(lcv) + ")]"
  215.     rc = DoEvents()
  216.     Next lcv
  217.  
  218.     
  219.     text1.LinkExecute "[ShowGroup(" + text2.Text + ", 7)]"
  220.     rc = DoEvents()
  221.  
  222.     text1.LinkMode = NONE
  223.     Screen.MousePointer = DEFAULT
  224. End Sub
  225.  
  226. Sub bRemove_Click ()
  227.     If list1.ListIndex <> -1 Then
  228.     list1.RemoveItem list1.ListIndex
  229.     If list1.ListCount = 0 Then
  230.         bMake.Enabled = False
  231.     Else
  232.         list1.ListIndex = 0
  233.     End If
  234.     Else
  235.     bRemove.Enabled = False
  236.     End If
  237. End Sub
  238.  
  239. Sub Dir1_Change ()
  240.     file1.Path = dir1.Path
  241. End Sub
  242.  
  243. Sub Drive1_Change ()
  244.     Dim ans As Integer
  245.  
  246.     On Error GoTo driveerror
  247.  
  248.     dir1.Path = drive1.Drive
  249.  
  250.     Exit Sub
  251.  
  252. driveerror:
  253.     If Err = 68 Then
  254.     ans = MsgBox("Drive not ready.", 2 + 48 + 256, "Drive Error")
  255.     Select Case ans
  256.         Case 3 ' abort
  257.         drive1.Drive = Left(dir1.Path, 2)
  258.         Resume
  259.         Case 4 ' retry
  260.         Resume
  261.         Case 5 ' ignore
  262.         Resume Next
  263.     End Select
  264.     Else
  265.     On Error GoTo 0
  266.     Error Err
  267.     End If
  268. End Sub
  269.  
  270. Sub File1_Click ()
  271.     If file1.FileName <> "" Then
  272.     bAdd.Enabled = True
  273.     Else
  274.     bAdd.Enabled = False
  275.     End If
  276. End Sub
  277.  
  278. Sub File1_DblClick ()
  279.     bAdd_Click
  280. End Sub
  281.  
  282. Sub List1_Click ()
  283.     If list1.Text <> "" Then
  284.     bRemove.Enabled = True
  285.     Else
  286.     bRemove.Enabled = False
  287.     End If
  288. End Sub
  289.  
  290. Sub List1_DblClick ()
  291.     bRemove_Click
  292. End Sub
  293.  
  294. Sub mFile_Click ()
  295.     If file1.ListCount > 0 Then
  296.     mFileAll.Enabled = True
  297.     Else
  298.     mFileAll.Enabled = False
  299.     End If
  300. End Sub
  301.  
  302. Sub mFileAbout_Click ()
  303.     Dim TheText As String
  304.  
  305.     TheText = "This program allows the selection of multiple files," + Chr(13)
  306.     TheText = TheText + "and the specification of a Group Name.  It will then " + Chr(13)
  307.     TheText = TheText + "create a Program Group in the Windows Program Manager, " + Chr(13)
  308.     TheText = TheText + "containing a Program Item for each file selected." + Chr(13) + Chr(13)
  309.     TheText = TheText + "Use the Iterate button to add all the files below the" + Chr(13)
  310.     TheText = TheText + "current sub-directory." + Chr(13) + Chr(13)
  311.     
  312.     MsgBox TheText, 64, "About Make Group"
  313. End Sub
  314.  
  315. Sub mFileAll_Click ()
  316.     Dim rc As Integer
  317.     Dim lcv As Integer
  318.     
  319.     For lcv = 1 To file1.ListCount
  320.     file1.ListIndex =